java 无法访问Linux下中文目录路径和中文文件名

您所在的位置:网站首页 linux 中文文件 java 无法访问Linux下中文目录路径和中文文件名

java 无法访问Linux下中文目录路径和中文文件名

2024-07-13 22:45| 来源: 网络整理| 查看: 265

1、首先说下linux下的文件分隔符问题,window下是\,

  如c:\tomcat\abc.txt这样可以,但linux下都是/,如/u01/tomcat/abc.txt。如果路径不对,也会找不到文件!

 

2、 String url="/u01/tomcat/中文.txt "   或者String url="/u01/tomcat/中文/烦死人.txt "

 

如果路径中带中文的文件夹,或名字,用new File(url);用函数file.exists()会返回false,

刚开始我还以为我的路径要转编码,于是试了各种转编码,iso-8859-1,utf-8,gbk,gb2312。。。都转了,都没用。

 

我代码是在win上编译的,在linux下运行的,发现在window下用System.getProperty("file.encoding")得到的是gbk,但在linux下是utf-8。在代码中转编码看来是没用的了,于是想到改操作系统的文件系统编码,于是:

vi /etc/sysconfig/i18n文件,改为LANG="zh_CN.GBK",我试了,改为utf-8也没用,中文乱码,只有改为gbk,改完后再不重启的情况下,使配置生效:source /etc/sysconfig/i18n,结果就可以了,可以正常操作了!

其实这个操作都是临时的,编码也只是零时改了,我用SecureCRT工具,退出会话,再进,编码又回到以前去了,,重启了,感觉好像也没效果,于是,没办法, vi /etc/profile,在文件末尾加上

export LANG="zh_CN.GBK"

export LC_ALL="zh_CN.GBK"

重新启动系统

reboot  linux 

一切都OK了。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3